﻿using System.Collections.Generic;
using System.ServiceModel;
using System.Threading.Tasks;

namespace HobSoft.SoccerBet2014.Domain.ClientService
{
    using Models;
    using Models.BfRaw;
    /// <summary>
    /// 提供客户端登录必发，打货、更新赔率的简单代理服务
    /// </summary>
    [ServiceContract]
    public interface IBfRequestService
    {
        [OperationContract]
        Task<bool> Singup(BFAccount account, string certificateFile);

        [OperationContract]
        Task<IList<MarketBook>> GetMarketBook(params string[] marketIds);

        [OperationContract]
        Task<PlaceExecutionReport> Betting(string _marketId, PlaceInstruction _placeInstruction, string _customerRef);

        [OperationContract]
        Task<CancelExecutionReport> CancelOrder(string _marketId, CancelInstruction _instruction, string _customerRef);

        [OperationContract]
        Task<CurrentOrderSummaryReport> GetOrders();

        [OperationContract]
        Task<BFEvent> GetEventMarkets(int eventId);

        [OperationContract]
        Task<IList<BFEvent>> GetEventByMarket(string[] marketIds);

        [OperationContract]
        Task<bool> HasLogin();
    }
}
